Computers often need to obtain, via a network, resources such as web pages, software packages, binary media, documents, etc. Client computers, for example, may obtain such resources directly from servers. In a complex network such as a global enterprise with disperse subnets or campuses communicating via relatively slow WAN links, transmitting resources from distant servers to clients separated by a WAN link can tax the bandwidth of a WAN link. Peer-to-peer resource sharing has been used to reduce inter-subnet traffic by allowing peers to exchange resources directly. In a peer-to-peer resource sharing network, peer computers that acquire a resource may share the resource with other peer computers; a computer needing a resource may determine that a copy of the resource is available at a computer (peer) other than the server where the resource is generally available. In such a case, the computer may obtain the resource from the peer computer.
While many peer-to-peer resource sharing schemes have been used, there is a need for a peer-to-peer resource sharing scheme that may be maintained with little overhead and may allow peers to search for resources first from nearby or proximate peers before searching more distant or less proximate peers. Techniques related to proximity-guided peer resource discovery are described below.